Uno de los roles más comunes en el diseño de videojuegos es el de creación de mapas/niveles, este módulo está pensado para reforzar vuestra habilidad como creadores de estos contenido
Saber crear de principio a fin niveles con una buena base técnica (objetivo, ideación, despliegue, comprobación…)
Creación por parejas de 3 niveles para:
Las implementaciones disponibles ya os la damos hechas
No hace falta que camibiéis nada, pero no está prohibido
Están basadas en contenido core de UE para facilitar documentación y modificación
Tenéis libertad para crear parejas, pero los equipos en los que se combine capacidad de programación con capacidad de diseño, generalemente, funcionarán mejor
Los niveles no sólo tienen que ser jugables, también dar buena sensación y buen equilibrado
Para ello haremos un poco de «trampa», permitiendo cambiar los parámetros de las mecánicas
Probaremos mucho nuestro juego, y una vez nos satisfaga, haremos evaluación cruzada
Los resultados de esta evaluación deberán servir para retocar
Un .zip con:
Whiteboxing es el proceso de crear los volúmenes de un nivel, sin tener en cuenta los detalles (las mallas 3D)
(También lo veréis como greyboxing, block out, brushes o brush actors)
Es el borrador de un nivel, en el que crearemos y experimentaremos con es espacio, distancias, tamaños, etc
Es una técnica muy buena para saber qué se quiere antes de «vestir» el nivel entero:
Veamos algunos aspectos básicos para crear geometría en UE
(Más información en la documentación de UE)
Figura 1: En UE se incluye la geometría como cualquier otro objeto de escena
Figura 2: Los
objetos de whiteboxing se pueden rotar, mover y
escalar como cualquier Actor
Figura 3: Los objetos tendrán, directamente, una malla de colisión que corresponderá a su geometría
En teoría se puede cambiar la colisión con
solidity, pero no funciona bien
Figura 4: Podemos pasar al modo de edición de geometría a través del menú superior
Figura 5: En este modo (Brush Editing) los vértices de los objetos son editables y puedo cambiar la forma de las mallas
Figura 6: Las operaciones booleanas me permiten «sumar» o «restar»
Es muy útil añadir colores (materiales) a los bloques para indicar su semática:
Figura 7: Para
colorear geometría brush, elegimos el objeto,
luego todas sus caras (Shift-J) y
arrastramos material
En esta parte se va a trabajar en la creación de un nivel para un juego de mecánicas clásicas y sencillas de arcade desplazamiento lateral
Sigue un sistema básico 2D en un nivel de desplazamiento abierto (se puede ir a cualquier parte dentro de la zona delimitada)
Desplazamiento lateral sencillo (izquierda/derecha), a una velocidad parametrizable
El personaje puede agacharse, reduciendo su altura a un multiplicador (parámetro)
Salto sencillo, de altura parametrizable
Es posible añadir movimiento lateral al salto (es decir, cambiar la dirección en el aire), parametrizable respecto a la velocidad básica en el suelo
En el atributo Possible jumps se puede
cambiar el número de saltos que se pueden dar en el aire
(1, 2, 3…)
Para cambiar la potencia de lanzamiento, se puede
cambiar la variable Throw strength
Tenemos \(N\) puntos de vida (configurable como
Life, puede ser que \(N=1\)), y el contacto
con los enemigos que no daña nos resta puntos
El daño en configurable en el atributo
Damage
Para cambiar la vida inicial, tenemos la variable
Life (en el componente
Damageable)
Si caemos por un agujero, perdemos todos los puntos de
vida y la partida se reinicia (blueprint
Deep)
Las gemas son coleccionables para el jugador
Se pueden usar como objetivo (maximizar gemas cogidas), o como condición para eventos
Al ser tocados, un elemento del escenario desaparece (¿una barrera?)
Es configurable en el atributo
Barrier
Podemos eliminar enemigos de varias formas (cada golpe puede terner hacer distinto daño):
Cuando un enemigo es eliminado, desaparece de la escena
Figura 8: El nivel se acaba cuando llegamos al «portal de salida»
Possible jumps)
Time y
HasTime en el game mode)